Surface profile measurement, independent of relative motions

ABSTRACT

A general method is disclosed for using distance sensors to measure the surface profile and twist of objects, even in the presence of rigid-body motions in the measurement directions between the surface and the sensors. The method involves making multiple sequential measurements from a group of sensors while the object moves longitudinally relative to the sensors. The surface height features of the measured object appear in delayed sequence as the observed surface moves longitudinally relative to the sensor array. However, any rigid-body motions in the measurement directions appear simultaneously at all sensors. Mathematical procedures are used to separate the delayed and simultaneous components of the measurements, from which the surface height profile is determined. The invention can handle many different measurement types, including simultaneous measurement of the surfaces of two-sided objects, measurement of surface twist and two-dimensional surface scanning.

TECHNICAL FIELD

This invention relates to a method and apparatus that can measure thesurface profile and twist of one or both sides of an object that ismoving longitudinally relative to the apparatus, independent ofrigid-body motions in the measurement direction. Such measurements areuseful for surface quality control of manufactured products, for examplesawn lumber and rolled metals, and for extended surfaces such asrailroad rails and highway pavements.

BACKGROUND OF THE INVENTION

Surface profiling is an important need in many industrial and scientificapplications. Typical examples include flatness inspection of railwayrails and road surfaces, and quality control of manufactured productssuch as sawn lumber and rolled metal.

The simplest way to measure surface height profile is to make a seriesof measurements with a distance sensor while relatively moving themeasured object and the sensor in a straight line perpendicular to themeasurement direction. FIG. 1(a) schematically shows an examplearrangement. The drawback to this method is that deviations fromstraight-line motion cause relative displacements in the measurementdirection that are indistinguishable from measured surface shape. Thus,very accurate linear motion is essential.

In many cases, accurate linear motion is not practicable. For example,when measuring the surface profile of a long length of railway track, itis not feasible to provide a separate linear slide for moving thesensor. Instead, the sensor must travel on the irregular track that itis measuring. Existing non-inertial techniques focus on the surfacecurvature because it can be identified independently of relativedisplacements or rotations. A typical arrangement uses three or moresensors operating simultaneously, as shown in FIG. 1(b). U.S. Pat. No.4,288,855 describes examples of this concept. The sensors estimate thelocal surface curvature from the second finite difference of theirmeasurements. The curvature values are integrated twice to determine thesurface profile. This method is effective, but it has difficultyresolving surface features that are either greatly shorter or greatlylonger than the total spacing of the sensors.

U.S. Pat. No. 5,280,719 describes an apparatus that uses a large numberof equally spaced sensors. The apparatus seeks to identify long surfacefeatures by overlapping sets of measurements that are made at successiveintervals much less than the total spacing of the sensors. However, thelarge number of sensors that are required creates a large cost andmaintenance burden. U.S. Pat. No. 4,573,131 describes a method of usingjust four sensors to achieve the same objective. The sensors makesuccessive measurements at small intervals of travel. The sensorspacings are chosen so that the numbers of intervals of travel betweensuccessive sensors have no common factors other than unity. This featureavoids the existence of “nulls”, which is a measurement artifact wherebysurface features with specific wavelengths are not observed. The methoddescribed in U.S. Pat. No. 4,573,131 is based on the assumption thatsuccessive sensors reaching the same point along the measured line havethe same distance from the measured surface. This is typically not areasonable assumption, and the described method has only limitedeffectiveness.

An alternative approach, the “inertial” method, uses an accelerometerthat runs at a constant speed along the surface to be profiled, giving asignal that is proportional to surface curvature. This signal isintegrated twice to obtain the surface shape. Conceptual simplicitymakes this an attractive method. However, there are also some practicallimitations. The first concerns the high frequencies that need to bemeasured. These can extend beyond the capabilities of the accelerometer.A second limitation is the assumption that the accelerometer and thesurface are permanently in contact. This is difficult to achievereliably, especially at high scanning speeds due to the large inertialforces that act on the system. Finally, only smooth profiles can bemeasured. A sharp step, for example, would not be detected properly.

None of the above techniques is well suited to measuring the surfaces oftwo-sided objects. At best, they can measure each of the two sidesseparately, but they do not provide accurate thickness information.Similarly, they do not provide accurate twist information with parallelmeasurements, nor are they suitable for two-dimensional surfaceevaluations.

BRIEF SUMMARY OF THE INVENTION

The present invention provides an improved method for measuring surfaceheight profile that overcomes the limitations of previous art. Theinvention involves using multiple distance sensors operatingsimultaneously. The main difference from previous designs is the way inwhich the sensor measurements are combined to determine the desiredsurface height profile, and in the flexibility of the possiblegeometrical arrangements that can be used to achieve particularmeasurement objectives.

The central idea of the present invention is the observation thatsurface height features appear in delayed sequence as the observedsurface moves longitudinally relative to the sensor array. However, anyrelative motions in the measurement direction, either translational orrotational, appear simultaneously at all sensors. Modern mathematicalprocedures are used to separate the delayed and simultaneous componentsof the measurements, from which the surface height profile isdetermined.

One of the advantages of the proposed method is that it is able toresolve both fine details and long wavelengths. It also enhancesmeasurement accuracy by exploiting the geometrical relationships thatexist among successive measurements, and by averaging the redundantinformation from multiple sensors. In addition, the proposed method isable to reconstruct the entire length of the scanned surface. This is incontrast to the curvature method, where the extremes are lost becauseneighboring points are used to make each curvature calculation. Theunderlying idea of the present invention is very flexible, and it caneasily be adapted to simultaneously measuring the surfaces of two-sidedobjects. Further possibilities include measurement of surface twist andtwo-dimensional surface scanning.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1. Surface profile measurement, (a) using a single sensor, (b)using multiple sensors.

FIG. 2. Four-sensor arrangement for one-sided measurements.

FIG. 3. Distance profiles measured by sensors d-c-b-a and the calculatedsurface profile.

FIG. 4. Six-sensor arrangement for two-sided measurements.

FIG. 5. Six-sensor arrangement for parallel one-sided measurements.

FIG. 6. Eight-sensor arrangement for parallel two-sided measurements.

FIG. 7. Two line-type distance sensors used to make two-dimensionalsurface topographic measurements.

DETAILED DESCRIPTION OF THE INVENTION

To simplify the description, it is supposed that the distance sensorsremain stationary and that the measured object moves. However, it isapparent that the description also applies to the case of a stationaryobject and moving sensors.

FIG. 2 schematically shows an example sensor arrangement. In this case,there are four distance sensors arranged in a row. However, theinvention is not limited to this specific arrangement. Otherarrangements with fewer or more sensors in one or more rows, on the sameor opposite sides of the measured object, are also useful. The distancesensors can be of any suitable type, chosen according to the needs ofthe particular application. Example sensor types include, but are notlimited to, laser triangulation, ultrasound, eddy current, LVDT sensors,etc. For notational convenience, the sensors are labeled a, b, c and d,in the reverse sequential order that they are reached by the movingobject.

FIG. 2 schematically shows a simple roller conveyor system. This isincluded in the diagram to assist conceptual understanding, but it isnot part of the present invention. Almost any means of longitudinallymoving the measured object could be suitable. The arrangement ofeccentrically mounted rollers in FIG. 2 symbolically indicates thatrelative motions in the measurement direction do not need to be avoided.

The conveyor system in FIG. 2 includes a means for measuring thelongitudinal motion of the moving object. Any accurate measuring meansis acceptable; for example, a rotary encoder attached to a conveyorroll. The encoder readings are used to trigger simultaneous measurementsfrom the distance sensors, at regular small intervals along the measuredobject. It is preferable that the sensor spacing should be an integernumber of these intervals. To avoid the presence of “nulls” (aninability to detect surface features with specific wavelengths), thenumbers of measurement intervals within at least two of the sensorspacings should have no common factors other than unity. Theseconditions are desirable, but not essential. Satisfactory operation canoften be achieved even if they are not obeyed.

As an example, consider the case of an object of total length equal ton−1 measurement intervals (=n measured points). Let u_(i) be the heightsof the measured points on the surface of the object relative to a datumline fixed on or adjacent to the object. The index i is in the range1≦i≦n, starting at the end of the object which reaches sensor a first.Let w_(i) be the corresponding position of the datum line relative tothe distance sensors. Further, let z_(i) be the rotation of the datumline at the moment when point i is being measured by sensor a. Anyspecific center of rotation is potentially acceptable for defining w_(i)and z_(i). A desirable choice is the midpoint of the length spanned bythe distance sensors because it improves the stability of the subsequentmathematical calculations. For dimensional consistency, the quantityz_(i) is defined as the rotation angle in radians multiplied by half thelength spanned by the set of distance sensors. Without any loss ingenerality, the initial quantities w₁ and z₁ can be arbitrarily assignedzero values. This assignment provides the definition of the position andorientation of the datum line.

The geometry in FIG. 2 creates an inversion of the measured surfacedata. An increase in surface height causes a decrease in distance sensorreading. To avoid possible confusion, it is convenient to define“height” quantities of the kind:a _(i) =h−a* ₁  (1)where a*₁ is the measured distance of the surface from sensor “a”, h isa “reference” distance. The exact value chosen for h is not critical.For example, the average value of a*₁ would be a reasonable choice.However, the value(s) of h chosen for the other sensor(s) cannot bechosen with similar freedom. They should be such that all measured“heights” would be equal for the case of a flat object moving parallelto the sensor array.

For the arrangement shown in FIG. 2, the sensor measurements are relatedto the surface profile and the rigid-body motions in the measurementdirection through the equations:a _(i) =u _(i) +w _(i)+(0−m)z _(i)b _(i) =u _(i+p) +w _(i)+(p−m)z _(i)/2c _(i) =u _(i+p+q) +w _(i)+(p+q−m)z _(i)/2d _(i) =u _(i+p+q+r) +w _(i)+(p+q+r−m)z _(i)/2  (2)where p, q and r are the numbers of measurement intervals betweendistance sensors a, b, c and d, respectively, and m=(p+q+r)/2.

The relationships between the quantities in equations (2) are purelygeometrical, and can be expressed in matrix form. For example, when n=9and p=1, q=2, r=1: (3) ${{\begin{bmatrix}\begin{matrix}1 & \quad & \quad & \quad & \quad \\\quad & 1 & \quad & \quad & \quad \\\quad & \quad & 1 & \quad & \quad \\\quad & \quad & \quad & 1 & \quad \\\quad & \quad & \quad & \quad & 1\end{matrix} & \begin{matrix}\quad & \quad & \quad & \quad \\1 & \quad & \quad & \quad \\\quad & 1 & \quad & \quad \\\quad & \quad & 1 & \quad \\\quad & \quad & \quad & 1\end{matrix} & \begin{matrix}\quad & \quad & \quad & \quad \\{- 1} & \quad & \quad & \quad \\\quad & {- 1} & \quad & \quad \\\quad & \quad & {- 1} & \quad \\\quad & \quad & \quad & {- 1}\end{matrix} \\\begin{matrix}\quad & 1 & \quad & \quad & \quad & \quad \\\quad & \quad & 1 & \quad & \quad & \quad \\\quad & \quad & \quad & 1 & \quad & \quad \\\quad & \quad & \quad & \quad & 1 & \quad \\\quad & \quad & \quad & \quad & \quad & 1\end{matrix} & \begin{matrix}\quad & \quad & \quad & \quad \\1 & \quad & \quad & \quad \\\quad & 1 & \quad & \quad \\\quad & \quad & 1 & \quad \\\quad & \quad & \quad & 1\end{matrix} & \begin{matrix}\quad & \quad & \quad & \quad \\{- {.5}} & \quad & \quad & \quad \\\quad & {- {.5}} & \quad & \quad \\\quad & \quad & {- {.5}} & \quad \\\quad & \quad & \quad & {- {.5}}\end{matrix} \\\begin{matrix}\quad & \quad & 1 & \quad & \quad & \quad & \quad \\\quad & \quad & \quad & 1 & \quad & \quad & \quad \\\quad & \quad & \quad & \quad & 1 & \quad & \quad \\\quad & \quad & \quad & \quad & \quad & 1 & \quad \\\quad & \quad & \quad & \quad & \quad & \quad & 1\end{matrix} & \begin{matrix}\quad & \quad & \quad & \quad \\{1\quad} & \quad & \quad & \quad \\\quad & {1\quad} & \quad & \quad \\\quad & \quad & 1 & \quad \\\quad & \quad & \quad & {\quad 1}\end{matrix} & \begin{matrix}\quad & \quad & \quad & \quad \\{.5} & \quad & \quad & \quad \\\quad & {.5} & \quad & \quad \\\quad & \quad & {.5} & \quad \\\quad & \quad & \quad & {.5}\end{matrix} \\\begin{matrix}\quad & \quad & 1 & \quad & \quad & \quad & \quad & \quad \\\quad & \quad & \quad & 1 & \quad & \quad & \quad & \quad \\\quad & \quad & \quad & \quad & 1 & \quad & \quad & \quad \\\quad & \quad & \quad & \quad & \quad & 1 & \quad & \quad \\\quad & \quad & \quad & \quad & \quad & \quad & 1 & \quad\end{matrix} & \begin{matrix}\quad & \quad & \quad & \quad \\1 & \quad & \quad & \quad \\\quad & 1 & \quad & \quad \\\quad & \quad & 1 & \quad \\\quad & \quad & \quad & 1\end{matrix} & {\begin{matrix}\quad & \quad & \quad & \quad \\1 & \quad & \quad & \quad \\\quad & 1 & \quad & \quad \\\quad & \quad & 1 & \quad \\\quad & \quad & \quad & 1\end{matrix}a}\end{bmatrix}\quad\quad}\begin{bmatrix}u_{1} \\u_{2} \\u_{3} \\u_{4} \\u_{5} \\u_{6} \\u_{7} \\u_{8} \\u_{9} \\w_{2} \\w_{3} \\w_{4} \\w_{5} \\z_{2} \\z_{3} \\z_{4} \\z_{5}\end{bmatrix}} = \begin{bmatrix}a_{1} \\a_{2} \\a_{3} \\a_{4} \\a_{5} \\b_{1} \\b_{2} \\b_{3} \\b_{4} \\b_{5} \\c_{1} \\c_{2} \\c_{3} \\c_{4} \\c_{5} \\d_{1} \\d_{2} \\d_{3} \\d_{4} \\d_{5}\end{bmatrix}$corresponding to:A·f=g  (4)where f is a vector comprising the surface profile and relative motionresults, and g is a vector comprising the measured distance data. MatrixA clearly demonstrates the nature of the measurements. The leftmostblock of columns illustrates the delayed sequence of the surface profiledata, while the center and rightmost columns of blocks show thesimultaneous character of the relative motion data. For mathematicaluniqueness, equation (3) excludes the redundant columns corresponding tow₁=0 and z₁=0.

At every measurement point, there are three unknown quantities to bedetermined, u_(i), w_(i) and z_(i). Thus, while it is possible to startmeasurements when the object reaches the first distance sensor, it isdesirable to wait until at the object reaches at least three sensors. Inpractice, it is convenient to wait until the object reaches allavailable sensors. In this case, each of the sensors makes the samenumber of readings on the object. Under these conditions, the number ofunknown quantities f in equation (4) equals 3n−2(p+q+r+1), and thenumber of measured quantities in g is 4(n−p−q−r). For n>2(p+q+r−1),there is an excess of data over unknowns. This is desirable because theexcess data can be used to reduce the effect of measurement errors.Under these conditions, equation (4) can be solved by the least-squaresmethod using the “Normal Equations”:A ^(T) A·f=A ^(T) g  (5)

For the example case in equation (3), the Normal Equations are: (6)${{\begin{bmatrix}\begin{matrix}1 & \quad & \quad & \quad & \quad & \quad & \quad & \quad & \quad \\\quad & 2 & \quad & \quad & \quad & \quad & \quad & \quad & \quad \\\quad & \quad & 2 & \quad & \quad & \quad & \quad & \quad & \quad \\\quad & \quad & \quad & 3 & \quad & \quad & \quad & \quad & \quad \\\quad & \quad & \quad & \quad & {4\quad} & \quad & \quad & \quad & \quad \\\quad & \quad & \quad & \quad & \quad & {3\quad} & \quad & \quad & \quad \\\quad & \quad & \quad & \quad & \quad & \quad & 2 & \quad & \quad \\\quad & \quad & \quad & \quad & \quad & \quad & \quad & 2 & \quad \\\quad & \quad & \quad & \quad & \quad & \quad & \quad & \quad & 1\end{matrix} & \begin{matrix}\quad & \quad & \quad & \quad \\1 & \quad & \quad & \quad \\1 & 1 & \quad & \quad \\\quad & 1 & 1 & \quad \\{1\quad} & \quad & 1 & 1 \\1 & 1 & \quad & 1 \\\quad & 1 & 1 & \quad \\\quad & \quad & 1 & 1 \\\quad & \quad & \quad & 1\end{matrix} & \begin{matrix}\quad & \quad & \quad & \quad \\{- 1} & \quad & \quad & \quad \\{- {.5}} & {- 1} & \quad & \quad \\\quad & {- {.5}} & {- 1} & \quad \\{.5} & \quad & {- {.5}} & {- 1} \\1 & {.5} & \quad & {- {.5}} \\\quad & 1 & {.5} & \quad \\\quad & \quad & 1 & {.5} \\\quad & \quad & \quad & 1\end{matrix} \\\begin{matrix}\quad & 1 & 1 & \quad & 1 & 1 & \quad & \quad & \quad \\\quad & \quad & 1 & 1 & \quad & 1 & 1 & \quad & \quad \\\quad & \quad & \quad & 1 & 1 & \quad & 1 & 1 & \quad \\\quad & \quad & \quad & \quad & 1 & 1 & \quad & 1 & 1\end{matrix} & \begin{matrix}4 & \quad & \quad & \quad \\\quad & 4 & \quad & \quad \\\quad & \quad & 4 & \quad \\\quad & \quad & \quad & 4\end{matrix} & \begin{matrix}0 & \quad & \quad & \quad \\\quad & {0\quad} & \quad & \quad \\\quad & \quad & {0\quad} & \quad \\\quad & \quad & \quad & 0\end{matrix} \\\begin{matrix}\quad & {- 1} & {- {.5}} & \quad & {.5} & 1 & \quad & \quad & \quad \\\quad & \quad & {- 1} & {- {.5}} & \quad & {.5} & 1 & \quad & \quad \\\quad & \quad & \quad & {- 1} & {- {.5}} & \quad & {.5} & 1 & \quad \\\quad & \quad & \quad & \quad & {- 1} & {- {.5}} & \quad & {.5} & 1\end{matrix} & \begin{matrix}0 & \quad & \quad & \quad \\\quad & 0 & \quad & \quad \\\quad & \quad & 0 & \quad \\\quad & \quad & \quad & 0\end{matrix} & \begin{matrix}2.5 & \quad & \quad & \quad \\\quad & 2.5 & \quad & \quad \\\quad & \quad & {2.5\quad} & \quad \\\quad & \quad & \quad & 2.5\end{matrix}\end{bmatrix}\quad\begin{bmatrix}u_{1} \\u_{2} \\u_{3} \\u_{4} \\u_{5} \\u_{6} \\u_{7} \\u_{8} \\u_{9} \\w_{2} \\w_{3} \\w_{4} \\w_{5} \\z_{2} \\z_{3} \\z_{4} \\z_{5}\end{bmatrix}} = \begin{bmatrix}a_{1} \\{a_{2} + b_{1}} \\{a_{3} + b_{2}} \\{a_{4} + b_{3} + c_{1}} \\{a_{5} + b_{4} + c_{2} + d_{1}} \\{\quad{b_{5} + c_{3} + d_{2}}} \\{\quad{c_{4} + d_{3}}} \\{\quad{c_{5} + d_{4}}} \\{\quad d_{5}} \\{a_{2} + b_{2} + c_{2} + d_{2}} \\{a_{3} + b_{3} + c_{3} + d_{3}} \\{a_{4} + b_{4} + c_{4} + d_{4}} \\{a_{5} + b_{5} + c_{5} + d_{5}} \\{{- a_{2}} - {{.5}b_{2}} + {{.5}c_{2}} + d_{2}} \\{{- a_{3}} - {{.5}b_{3}} + {{.5}c_{3}} + d_{3}} \\{{- a_{4}} - {{.5}b_{4}} + {{.5}c_{4}} + d_{4}} \\{{- a_{5}} - {{.5}b_{5}} + {{.5}c_{5}} + d_{5}}\end{bmatrix}}\quad$

For small values of n, a general matrix equation solver is sufficient tosolve the Normal Equations. Matrix A^(T)A is symmetrical, so somecomputational economy can be achieved by using a specialized solver forsymmetric matrices. For larger values of n, iteration techniques, forexample the Gauss-Seidel method, are useful.

FIG. 3 shows an example measurement made using the arrangement shown inFIG. 2. In this example, n=67, p=2, q=7, r=2. To make clear theeffectiveness of the method, a small steps was attached to one of therollers so that the measured object moved along an obviously irregularpath through the roller system. The first four traces show the sensorreadings and the fifth profile the computed surface profile. Thisprofile corresponds accurately to the actual curved profile of themeasured object, and successfully eliminates the effects of therigid-body motions in the measurement direction. In addition, the fulllength of the object has been measured, even though each individualsensor measured less than the entire length.

In general, it is desirable to use more than the minimum number ofdistance sensors that will give an excess of data over unknowns. Theleast-squares method will then have an averaging effect on the computedprofile, and reduce the effects of random measurement errors. When highaccuracy is required, the use of more sensors is an appropriate choice.Matrix A becomes fuller, but the size of A^(T)A in equation (5) remainsthe same and no new ideas are required.

When cost is a critical factor, and more modest accuracy is acceptable,it is possible to use fewer than the “minimum” number of sensors, forexample three, or even two, instead of the four shown in FIG. 2. In thiscase, there will be fewer data than unknowns. It may also occur that forsome reason it is not possible to avoid having common factors in atleast two sensor spacings. Both of these cases cause equation (5) tobecome singular. This circumstance can be handled by using“regularization”, a mathematical process which introduces smoothing.

Several regularization techniques are commonly used, among themtruncation and filtering. A convenient technique is Tikhonovregularization. The procedure involves modifying matrix ATA in equation(5) to penalize extreme values in the solution. The penalty can beapplied to the norm of the model, thereby creating a “small” solution,or to the norm of the numerical first or second derivatives of themodel, respectively creating “flat” or “smooth” solutions. The simplestform of Tikhonov regularization adds an extra term to the NormalEquations, as follows:(A ^(T) A+βB ^(T) B)f=A ^(T) g  (7)where β is a weighting factor called the regularization parameter.Matrix B is the identity, first or second derivative operator, chosenaccording to whether a “small”, “flat” or “smooth” model solution isdesired. In general, a “smooth” model is a reasonable choice because itis the most responsive to measurement noise.

The Morozov discrepancy principle can be used to identify the optimalvalue of the regularization parameter β. If the standard errors, σ, inthe data are all equal, independent and Gaussian with zero mean, theoptimum parameter β makes the norm of the misfit between the actualmeasured distances and the distances corresponding to the calculatedsolution equal to the standard error of the distance measurements. Inthis case: $\begin{matrix}{\left\lbrack \frac{{{A\quad f} - g}}{\sigma} \right\rbrack^{2} = N} & (8)\end{matrix}$If the standard errors in the measured distances may not be assumed tobe equal, then appropriate weighting factors are required. In that case,the Morozov discrepancy principle requires that the chi-squaredstatistic equals N.

Given an estimate of the standard error in the measured data, σ,equations (7) and (8) can be solved iteratively. The result is notsensitive to modest variations in β, so accurate convergence is notnecessary. This tolerance is attractive because it could remove the needto evaluate β for every profile. For stable and consistent applications,it may be sufficient to use a fixed value of β that is updated onlyperiodically.

Equation (7) applies to the simplest case where only one type ofregularization is used, and equal weighting is applied to all elementsof the model vector. For specialized applications, equation (7) can beexpanded to use all three types simultaneously, with individual matricesto indicate the weighting parameters for each regularization type andelement in the model vector.

It should be noted that regularization enables a surface profile to becalculated when a mathematical solution many not otherwise be possible.It may also be used to provide smoothing for a noisy solution. However,in neither case does it create any new information. Therefore, it is nota substitute for data from additional distance sensors.

The idea behind this invention can be exploited further to allowefficient two-sided profiling using a sensor arrangement such as isshown in FIG. 4. The attraction of this arrangement is that the upperand lower sensors observe the same rigid-body motions as thesingle-sided arrangement shown in FIG. 2. This commonality between ofboth sets of sensors means that only one new variable is introduced,namely the lower surface profile. Thus, a minimum of one additionallower sensor is required to provide the needed additional data, farfewer than needed for two independent profile measurements.

In the arrangement shown in FIG. 4, one sensor has been transferred fromthe upper surface, and two further sensors have been added. Although thesixth sensor is not essential, it is included here to provide asymmetrical arrangement with similar expected measurement accuracy forboth sides of the measured object. The additional sensor providesredundant data that is averaged with all the other data. This featureenhances the measurement accuracy for both sides.

For the arrangement in FIG. 4, the relationships of the sensor readingsto the surface profiles and rigid-body motions are:a _(i) =u _(i) +w _(i)+(0−m)z _(i)b _(i) =u _(i+p) +w _(i)+(p−m)z _(i)c _(i) =u _(i+p+q) +w _(i)+(p+q−m)z _(i)d _(i) =v _(i) −w _(i)+(0−m)z _(i)e _(i) =v _(i+r) −w _(i)−(r−m)z _(i)f _(i) =v _(i+r+s) −w _(i)−(r+s−m)z _(i)  (9)where m=(p+q)/2=(r+s)/2. The equations involve one new surface profilevariable, v_(i), but no additional rigid-body motions. These equationscan be expressed in matrix form, analogous to equation (3), from whichthe surface profiles can be calculated. As previously, at least twosensor spacings should not have any common factors other than unity. Theskew-symmetric arrangement in FIG. 4 is not essential, but is chosen toavoid any left-to-right bias. An important feature of the use of thepresent invention for two-sided profiling is that it preservesgeometrical thickness relationships, even in the presence of possibleerrors in identifying rigid-body motions. Thus, the advantages ofconventional thickness measuring techniques are retained.

Exploitation of common components in the measurements from multiplesensors can be carried a further step. Practical objects are often quitewide in the direction out of the paper in FIG. 1. In such cases, it canbe of interest to measure the surface profile along parallel lines onone or both opposing surfaces. The availability of parallel profilesalong a surface gives more than just multiple measurements of surfacetopography. The difference between the profiles gives twist, which is ageometric property of significant interest. Parallel profilingintroduces a third significant rigid-body motion in addition to therigid-body displacement and rotation considered so far, namely, rotationaround the longitudinal axis of the measured object.

Parallel profile measurements are possible for both one- and two-surfaceprofiling. FIG. 5 shows an arrangement of six sensors to do one-surfaceprofiling along two parallel paths. As before, a symmetrical arrangementhas been chosen so that equal measurement accuracy is expected for eachmeasured profile. In this case, the number of sensors used equals theminimum required to achieve a full-rank matrix.

For the sensor arrangement shown in FIG. 5, the relationships of thesensor readings to the surface profiles and rigid-body motions are:a _(i) =u _(i) +w _(i) −y _(i)+(0−m)z _(i)b _(i) =u _(i+p) +w _(i) −y _(i)+(p−m)z _(i)c _(i) =u _(i+p+q) +w _(i) −y _(i)+(p+q−m)z _(i)d _(i) =v _(i) +w _(i) +y _(i)+(0−m)z _(i)e _(i) =v _(i+r) +w _(i) +y _(i)+(r−m)z _(i)f _(i) =v _(i+r+s) +w _(i) +y _(i)+(r+s−m)z _(i)  (10)where u_(i) and v_(i) are the two parallel surface profiles,m=(p+q)/2=(r+s)/2, and y_(i)=φΔ/2 corresponds to the rigid-body rotationaround the longitudinal axis of the measured object by an angle φ, witha distance Δ between the parallel paths. As before, these equations canbe expressed in matrix form, analogous to equation (3), from which thesurface profiles can be calculated.

FIG. 6 shows a sensor arrangement that uses eight sensors to do parallelprofiling along four lines adjacent to the edges of a rectangularobject. This arrangement combines the measurement features of FIG. 4 andFIG. 5.

FIG. 7 shows another useful measurement arrangement. In this example,two line-type distance sensors replace the single-point-type previouslydiscussed. These sensors measure distance at a sequence of many pointsalong two lines across the surface of the measured object. To avoid“nulls” in the subsequent computations, the lines should not be parallelto each other. The attractive feature of the sensor arrangement in FIG.7 is its ability to identify a two-dimensional topographic map of thesurface height of the measured object, independent of rigid-bodymotions. Clearly, the amount of data to be handled from the line-typedistance sensors in FIG. 7 is much larger than from single-point-type.However, the procedures for working with those data still involve thesame principles of instantaneous observation of rigid-body motions, anddelayed observation of surface features. Thus, the mathematicalcalculations follow the same patterns as previously described, with someadaptations to allow for the possible non-integral number of measurementintervals between corresponding pixels along the measured lines.

Commonly, the number of measurements made, using eithersingle-point-type or line-type distance sensors, can be very large. Insome cases, for example, when measuring road surface profiles, themeasured object has “infinite” length, resulting in an indefinitelylarge number of measurements. In such cases, evaluation of matrix A^(T)Afor solution of equation (5) or (7) is not practicable. Instead, aprogressive iterative solution method can be used, where the first partof the matrix is solved before all the remaining parts are available.

The first step when formulating a progressive solution is to reorder thevariables from the arrangement shown in equation (6). The originalarrangement was chosen because it reveals the matrix structure. However,sequential arrangements of the form f=[u₁ w₁ z₁ u₂ w₂ z₂ . . . ]^(T) andg=[a₁ b₁ c₁ d₁ a₂ b₂ c₂ d₂ . . . ]^(T) are more practical for iterativesolutions. Even for whole-matrix solutions, the sequential arrangementsare desirable because they reduce matrix bandwidth.

The following is an example progressive iterative solution method forequation (6), based on the Gauss-Seidel method. Successiveover-relaxation could additionally be used.

Initial Estimate for the First 5 Data Sets:w₁=0 z₁=0 u₁=a₁For i=2 . . . 5: z _(i)=0 w _(i)=(a ₅ −d ₁)(i−1)/4 u _(i) =a _(i) −w_(i)  (11)Iteration Scheme:For j=6 . . . measure next a_(j) b_(j) c_(j) d_(j)z _(j) =z _(j−1) w _(j) =w _(j−1) u _(j+4) =d _(j) −w _(j) −z _(j)u _(j+3) =[d _(j−1) −w _(j−1) −z _(j−1) +c _(j) −w _(j)−0.5 z _(j)]/2u _(j+2) =[d _(j−2) −w _(j−2) −z _(j−2) +c _(j−1) −w _(j−1)−0.5z_(j−1)]/2u _(j+1) =[d _(j−3) −w _(j−3) −z _(j−3) +c _(j−2) −w _(j−2)−0.5 z _(j−2)+b _(j) −w _(j)+0.5 z _(j)]/3For i=j . . . j−k (counting in reverse)z _(i)=[−(a _(i) −u _(i))−0.5(b _(i) −u _(1+i))+0.5(c _(i) −u _(3+i))+(d_(i) −u _(4+i))]/2.5w_(i)=[(a _(i) −w _(i))+(b _(i) −u _(1+i))+(c _(i) −u _(3+i))+(d _(i)−u+i)]/4When 4<i u _(i)=[(a _(j) −w _(i) +z _(i))+(b_(i−1) −w _(i−1)+0.5z_(i−1))+(c _(i−3) −w _(i−3)−0.5z _(i−3))+(d _(i) −u _(i−4) −z _(i−4))]/4When 3<i≦4 u _(i)=[(a _(j) −w _(i) +z _(i))+(b_(i−1) −w _(i−1)+0.5z_(i−1))+(c _(i−3) −w _(i−3)−0.5z _(i−3))]/3When 1<i≦3 u _(i)=[(a _(j) −w _(i) +z _(i))+(b _(i−1) −w _(i−1)+0.5z_(i−1))]/2When i≦1 skip  (12)

The variable k controls the number of iterations used to refine thesolved quantities. Larger values give more accurate answers, but at thethe expense of computational effort. A value of k slightly larger thanp+q+r typically gives acceptable results.

It is apparent that the ideas that constitute this invention can beapplied to meet a wide range of measurement needs. Such needs may be metby using various numbers and types of distance sensors with variousgeometrical arrangements. The present disclosure describes the basicprinciples of the present invention, and gives many practical details.It is evident that a person skilled in the art could use theseprinciples and details to construct a surface profile measuring devicethat varies in particular details from the specific examples describedherein. It is also evident that such a person could also employmathematical methods different from the examples presented here toachieve the same or similar numerical results, for example, usingtransforms. All such variations lie within the scope of this invention.

1-14. (canceled)
 15. A method for determining one or more surfaceprofiles of an object, the method comprising the steps of: moving saidobject and a plurality of distance sensors relative to one another in alongitudinal direction, each one of said sensors arranged to measure thedistance from itself to a surface of said object; measuring the relativelongitudinal motion between said object and said distance sensors; foreach surface, taking a plurality of distance measurements with each oneof said sensors as said object and said sensors are moved relative oneanother, each one of said measurements taken simultaneously by all ofsaid sensors, the sensors thereby providing distance measurement datareflecting a series of measurements, said distance measurement datahaving a first component relating to the particular surface profilefeatures of said object and a second component relating to rigid bodyrelative motions of said object in the measurement direction relative tosaid sensors; analyzing said measurement data to identify said rigidbody relative motion component of said data; and determining saidsurface profile of said object by separating said rigid body relativemotion component of said measurement data from said measurement data,leaving said surface profile feature component, wherein said rigid bodymotion component of said data is determined by identifying motionfluctuations of said object measured simultaneously at said sensors. 16.The method of claim 15, wherein said plurality of sensors are arrangedon more than one side of said object, to provide data relating to morethan one surface of said object.
 17. The method of claim 15, whereinsaid plurality of sensors are arranged on opposite sides of said object,to provide data relating to two opposite surfaces of said object.
 18. Asystem for carrying out the method of claim 15 to measure the surfaceprofile of an object independent of relative motions of the object, thesystem comprising: a plurality of distance sensors arranged along two ormore parallel lines, the sensors arranged to make distance measurementson at least one surface of said object in a measurement direction, theobject and the arrangement of said distance sensors being movablerelative to one another in a direction different from said easurementdirection, each individual sensor making a plurality of distancemeasurements at pre-determined spaced intervals along the surface ofsaid object when said object is moved relative said arrangement ofsensors, thereby enabling substantially similar points on the object tobe measured by different sensors within a sequence of measurements;wherein said pre-determined spaced intervals are smaller than therelative spacings between said sensors.
 19. The system of claim 18wherein the sequence of the spacings between sensors fixed alongdifferent parallel lines are not the same when viewed in the directionof relative motion of the object.
 20. The system of claim 18, whereinthe sensors are arranged in a skew-symmetrical pattern of spacings. 21.A system according to claim 18, further comprising two pluralities ofsensors, one for making measurements to each opposite surface of saidobject, wherein said two pluralities of distance sensors are arrangedalong two or more parallel lines facing opposite surfaces of saidobject.
 22. A system according to claim 18, specifically configured tomeasure parallel profiles and twist along a surface of an object,wherein said plurality of distance sensors are arranged along two ormore parallel lines facing the same surface of said object.
 23. A systemaccording to claim 18, specifically configured to measure parallelsurface profiles, thickness profiles and twist of an object, furthercomprising a plurality of sensors arranged along two or more parallellines, where said distance sensors are arranged along several parallellines facing the two or more surfaces of said object.
 24. A systemaccording to claim 18, specifically configured to measuretwo-dimensional surface shape, where a plurality of line-type distancesensors measure non-parallel lines across one or more surfaces of anobject.
 25. A data processing system for processing measurement data inthe method of claim 15, the data processing system identifying surfaceprofiles from features that appear in corresponding sensor data indelayed sequence, and any relative rigid-body motions in the measurementdirection from features that appear simultaneously in the sensor data,the identification of delayed and simultaneous features achieved bysolution of a matrix equation.
 26. The data processing system of claim26 wherein the matrix equation is of the following types:a _(i) =u _(i) +w _(i)+(0−m)z _(i)b _(i) =u _(i+p) +w _(i)+(p−m)z _(i)/2c _(i) =u _(i+p+q) +w _(i)+(p+q−m)z _(i)/2d _(i) =u _(i+p+q+r) +w _(i)+(p+q+r−m)z _(i)/2 where u_(i) is thesurface height at point i, w_(i) is the relative displacement in themeasurement direction between the object and the sensor array, z_(i) isthe relative rotation of the object relative to the sensor array, andwhere p, q and r are the numbers of measurement intervals betweendistance sensors a, b, c and d, respectively, and m=(p+q+r)/2; andA·f=g where f is a vector comprising the surface profile and relativemotion results, and g is a vector comprising the measured distance data,and with the matrix contents adjusted to apply to the specificgeometrical arrangement of the distance sensors used.
 27. The dataprocessing system according to claim 27 where the simultaneous equationsare arranged in matrix format:A·f=g where matrix A contains the coefficients of the quantities u_(i),w_(i), and z_(i), vector g contains the measured distance data, andvector f contains the desired quantities to be determined.
 28. A dataprocessing system for processing measurement data in the method of claim15, the data processing system identifying surface profiles fromfeatures that appear in corresponding sensor data in delayed sequence,and any relative rigid-body motions in the measurement direction fromfeatures that appear simultaneously in the sensor data, theidentification of delayed and simultaneous features achieved by solutionof “Normal” equations.
 29. The data processing system of claim 28wherein the “Normal” equations are of the following type:A ^(T) A·f=A ^(T) g and ${{\begin{bmatrix}\begin{matrix}1 & \quad & \quad & \quad & \quad & \quad & \quad & \quad & \quad \\\quad & 2 & \quad & \quad & \quad & \quad & \quad & \quad & \quad \\\quad & \quad & 2 & \quad & \quad & \quad & \quad & \quad & \quad \\\quad & \quad & \quad & 3 & \quad & \quad & \quad & \quad & \quad \\\quad & \quad & \quad & \quad & {4\quad} & \quad & \quad & \quad & \quad \\\quad & \quad & \quad & \quad & \quad & {3\quad} & \quad & \quad & \quad \\\quad & \quad & \quad & \quad & \quad & \quad & 2 & \quad & \quad \\\quad & \quad & \quad & \quad & \quad & \quad & \quad & 2 & \quad \\\quad & \quad & \quad & \quad & \quad & \quad & \quad & \quad & 1\end{matrix} & \begin{matrix}\quad & \quad & \quad & \quad \\1 & \quad & \quad & \quad \\1 & 1 & \quad & \quad \\\quad & 1 & 1 & \quad \\{1\quad} & \quad & 1 & 1 \\1 & 1 & \quad & 1 \\\quad & 1 & 1 & \quad \\\quad & \quad & 1 & 1 \\\quad & \quad & \quad & 1\end{matrix} & \begin{matrix}\quad & \quad & \quad & \quad \\{- 1} & \quad & \quad & \quad \\{- {.5}} & {- 1} & \quad & \quad \\\quad & {- {.5}} & {- 1} & \quad \\{.5} & \quad & {- {.5}} & {- 1} \\1 & {.5} & \quad & {- {.5}} \\\quad & 1 & {.5} & \quad \\\quad & \quad & 1 & {.5} \\\quad & \quad & \quad & 1\end{matrix} \\\begin{matrix}\quad & 1 & 1 & \quad & 1 & 1 & \quad & \quad & \quad \\\quad & \quad & 1 & 1 & \quad & 1 & 1 & \quad & \quad \\\quad & \quad & \quad & 1 & 1 & \quad & 1 & 1 & \quad \\\quad & \quad & \quad & \quad & 1 & 1 & \quad & 1 & 1\end{matrix} & \begin{matrix}4 & \quad & \quad & \quad \\\quad & 4 & \quad & \quad \\\quad & \quad & 4 & \quad \\\quad & \quad & \quad & 4\end{matrix} & \begin{matrix}0 & \quad & \quad & \quad \\\quad & {0\quad} & \quad & \quad \\\quad & \quad & {0\quad} & \quad \\\quad & \quad & \quad & 0\end{matrix} \\\begin{matrix}\quad & {- 1} & {- {.5}} & \quad & {.5} & 1 & \quad & \quad & \quad \\\quad & \quad & {- 1} & {- {.5}} & \quad & {.5} & 1 & \quad & \quad \\\quad & \quad & \quad & {- 1} & {- {.5}} & \quad & {.5} & 1 & \quad \\\quad & \quad & \quad & \quad & {- 1} & {- {.5}} & \quad & {.5} & 1\end{matrix} & \begin{matrix}0 & \quad & \quad & \quad \\\quad & 0 & \quad & \quad \\\quad & \quad & 0 & \quad \\\quad & \quad & \quad & 0\end{matrix} & \begin{matrix}2.5 & \quad & \quad & \quad \\\quad & 2.5 & \quad & \quad \\\quad & \quad & {2.5\quad} & \quad \\\quad & \quad & \quad & 2.5\end{matrix}\end{bmatrix}\quad\begin{bmatrix}u_{1} \\u_{2} \\u_{3} \\u_{4} \\u_{5} \\u_{6} \\u_{7} \\u_{8} \\u_{9} \\w_{2} \\w_{3} \\w_{4} \\w_{5} \\z_{2} \\z_{3} \\z_{4} \\z_{5}\end{bmatrix}} = \begin{bmatrix}a_{1} \\{a_{2} + b_{1}} \\{a_{3} + b_{2}} \\{a_{4} + b_{3} + c_{1}} \\{a_{5} + b_{4} + c_{2} + d_{1}} \\{\quad{b_{5} + c_{3} + d_{2}}} \\{\quad{c_{4} + d_{3}}} \\{\quad{c_{5} + d_{4}}} \\{\quad d_{5}} \\{a_{2} + b_{2} + c_{2} + d_{2}} \\{a_{3} + b_{3} + c_{3} + d_{3}} \\{a_{4} + b_{4} + c_{4} + d_{4}} \\{a_{5} + b_{5} + c_{5} + d_{5}} \\{{- a_{2}} - {{.5}b_{2}} + {{.5}c_{2}} + d_{2}} \\{{- a_{3}} - {{.5}b_{3}} + {{.5}c_{3}} + d_{3}} \\{{- a_{4}} - {{.5}b_{4}} + {{.5}c_{4}} + d_{4}} \\{{- a_{5}} - {{.5}b_{5}} + {{.5}c_{5}} + d_{5}}\end{bmatrix}}\quad$

with the matrix contents adjusted to apply to the specific geometricalarrangement of the distance sensors used.
 30. A data processing systemaccording to claim 25 where result stabilization or smoothing isachieved by using regularization.
 31. A data processing system accordingto claim 30 where the regularization type is Tikhonov regularization.32. A data processing system according to claim 25, where evaluation ofthe surface profile is achieved using a matrix solution method afterdata collection has been completed.
 33. A data processing systemaccording to claim 25, where evaluation of the surface profile isachieved using a progressive solution method that may possibly beinitiated before data collection has been completed.
 34. A dataprocessing system according to claim 33 where the progressive solutioninvolves the Gauss-Seidel or successive over-relaxation methods.